package com.wenx.v3system.modular.cloud.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.wenx.base.domain.BaseDeptEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 系统角色实体
 * 支持Enhanced RBAC权限模型
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("sys_role")
public class SysRole extends BaseDeptEntity {

    @Serial
    private static final long serialVersionUID = -7081143031786524736L;

    /**
     * 角色名称，如 '管理员', '经理'
     */
    private String name;

    /**
     * 角色代码，如 'admin', 'manager'
     */
    private String code;

    /**
     * 角色描述
     */
    private String description;

    /**
     * 角色级别：1-租户管理员，2-部门管理员，3-团队领导，4-普通用户
     */
    private Integer level;

    /**
     * 数据权限范围：all-全部，dept-部门及以下，dept_only-仅部门，team-团队，owner-个人，custom-自定义
     */
    private String dataScope;

    /**
     * 是否为内置角色
     */
    private Boolean isBuiltin;

    /**
     * 角色状态：1-启用，0-禁用
     */
    private Integer status;

    /**
     * 排序字段
     */
    private Integer sort;
}
